get-source
Platform-agnostic source code inspection, with sourcemaps support.
npm install get-source
Features
What for
Usage
getSource = require ('get-source')
file = getSource ('./scripts/index.min.js')
Will read the file synchronously (either via XHR or by filesystem API, depending on the environment) and return it's cached representation. Result will contain the following fields:
file.path
file.text
file.lines
And the resolve
method:
file.resolve ({ line: 1, column: 8 })
It will look through the sourcemap chain, returning following:
{
line: <original line number>,
column: <original column number>,
sourceFile: <original source file object>,
sourceLine: <original source line text>
}
In that returned object, sourceFile
is the same kind of object that getSource
returns. So you can access its text
, lines
and path
fields to obtain the full information. And the sourceLine
is returned just for the convenience, as a shortcut.
Error handling
nonsense = getSource ('/some/nonexistent/file')
nonsense.text
nonsense.error
resolved = nonsense.resolve ({ line: 5, column: 0 })
resolved.sourceLine
resolved.error